package py.com.alfa.escriba.gui.dto.admin;

import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import py.com.alfa.escriba.gui.controller.object.PickListFuncObject;

@JsonIgnoreProperties(ignoreUnknown = true)
public class PerfilDTO {

	private Long id;
	private String descripcion;
	private Boolean perfilSistema;
	private List<FuncionalidadDTO> funcAsignadas;
	private List<FuncionalidadDTO> funcNoAsignadas;
	
	private PerfilDatosDTO agregar;
	private PerfilDatosDTO eliminar;
	
	//view controller
	private PickListFuncObject pickListFunc;
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	public Boolean getPerfilSistema() {
		return perfilSistema;
	}

	public void setPerfilSistema(Boolean perfilSistema) {
		this.perfilSistema = perfilSistema;
	}

	public List<FuncionalidadDTO> getFuncAsignadas() {
		return funcAsignadas;
	}

	public void setFuncAsignadas(List<FuncionalidadDTO> funcAsignadas) {
		this.funcAsignadas = funcAsignadas;
	}

	public List<FuncionalidadDTO> getFuncNoAsignadas() {
		return funcNoAsignadas;
	}

	public void setFuncNoAsignadas(List<FuncionalidadDTO> funcNoAsignadas) {
		this.funcNoAsignadas = funcNoAsignadas;
	}

	public PerfilDatosDTO getAgregar() {
		return agregar;
	}

	public void setAgregar(PerfilDatosDTO agregar) {
		this.agregar = agregar;
	}

	public PerfilDatosDTO getEliminar() {
		return eliminar;
	}

	public void setEliminar(PerfilDatosDTO eliminar) {
		this.eliminar = eliminar;
	}

	public PickListFuncObject getPickListFunc() {
		return pickListFunc;
	}

	public void setPickListFunc(PickListFuncObject pickListFunc) {
		this.pickListFunc = pickListFunc;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (!(obj instanceof PerfilDTO))
			return false;
		PerfilDTO other = (PerfilDTO) obj;
		if (id == null) {
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		return true;
	}
	
	
}
